package com.pro.common.api.statics.user.file.storage.service;

import com.pro.common.api.statics.user.file.storage.enums.EnumFileStoragePlatform;
import com.pro.common.api.statics.user.file.storage.model.dto.StorageCorsRule;
import com.pro.common.api.statics.user.file.storage.model.dto.UploadFIleResultDTO;
import com.pro.framework.api.file.storage.PresignedUrlResponse;

import java.io.InputStream;
import java.util.List;
import java.util.Map;

/**
 * 通用对象存储接口（AWS S3 / 阿里 OSS / 华为 OBS 风格）
 */
public interface IFileStorageCorsService {
//// ====================== 桶管理（可选） ======================
//
//    default boolean createBucket(String bucket) {
//        return false;
//    }
//
//    default boolean deleteBucket(String bucket) {
//        return false;
//    }
//
//    default boolean doesBucketExist(String bucket) {
//        return false;
//    }
//
//    String getObjectUrlPublic(String bucket, String objectKey);
//
//    default String getObjectUrl(String bucket, String objectKey, boolean isPublic, long expireSeconds){
//        return null;
//    }

// ====================== 桶跨域 CORS ======================

    /**
     * 设置桶的跨域规则
     */
    default boolean setBucketCors(String bucket, List<StorageCorsRule> rules) {
        return false;
    }

    /**
     * 获取桶的跨域规则
     */
    default List<StorageCorsRule> getBucketCors(String bucket) {
        return List.of();
    }

    /**
     * 删除桶的跨域规则
     */
    default boolean deleteBucketCors(String bucket) {
        return false;
    }

}
